import { defineStore } from 'pinia';
import { computed, ref, watch } from 'vue';
import { theme } from 'ant-design-vue';

export const useThemeStore = defineStore(
    'theme',
    () => {
        // 主要颜色
        const primaryCol = ref('#1677ff');
        // 当前主题模式（light/dark）
        const currentTheme = ref('light');

        // 主题配置
        const themeConfig = computed(() => {
            return {
                token: {
                    colorPrimary: primaryCol.value, // 主要颜色
                },
                algorithm:
                    currentTheme.value === 'light'
                        ? theme.defaultAlgorithm
                        : theme.darkAlgorithm, // 主题算法
            };
        });

        return {
            themeConfig, // 主题配置
            primaryCol, // 主要颜色
            currentTheme, // 当前主题模式
        };
    },
    {
        persist: true, // 开启持久化
    }
);
